package com.blog.cmrpersonalblog.dto.ranking.requset;

import lombok.Data;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;

/**
 * 榜单查询请求DTO
 * 用于榜单数据的分页查询
 */
@Data
public class RankingQueryRequest {

    /**
     * 当前页码
     */
    @Min(value = 1, message = "页码不能小于1")
    private Long current = 1L;

    /**
     * 每页大小
     */
    @Min(value = 1, message = "每页大小不能小于1")
    @Max(value = 50, message = "每页大小不能超过50")
    private Long size = 10L;

    /**
     * 限制数量（用于简单的limit查询）
     */
    @Min(value = 1, message = "限制数量不能小于1")
    @Max(value = 100, message = "限制数量不能超过100")
    private Integer limit = 10;

    /**
     * 是否使用分页模式
     * true: 使用分页查询，返回分页信息
     * false: 使用简单limit查询，只返回指定数量的数据
     */
    private Boolean usePagination = false;
}
